package org.cerberus.platform.internal;

import org.cerberus.platform.internal.domain.IComponentClass;



/**
 * @author Christian Humer
 */
public interface IObjectGraph {

	void initializeClass(Class<?> o);
	
	void notifyChange(Object o, String attributeName);
	
	void setRoot(Object o);
	
	Object getRoot();
	
	IObjectGraphTransaction returnTransaction();
	
	void storeTransaction(IObjectGraphTransaction transaction);
	
	IComponentClass getComponentClass(Class<?> o);
	
	Integer getInternalID(Object o);
}
